A multimedia server generates data representative of pictures in a multimedia stream, e.g., a multimedia stream that has been requested by a user. An encoder of the multimedia server encodes the data for each picture to form a bitstream that is transmitted over a network to a decoder that decodes the bitstream and provides the decoded video information to a multimedia application or any other application for display to the user. Such multimedia encoders and decoders are used in a wide variety of applications to facilitate the storage and transfer of multimedia streams in a compressed fashion.
To compress multimedia streams, conventional encoders implement video compression algorithms in which the degree of compression depends in part on a quality parameter such as a quantization parameter. A quantization parameter is a number that can be used to derive a standard matrix for quantizing transformed data in a codec. A higher quantization parameter often results in lower bit usage for a picture, whereas a lower quantization parameter often results in higher bit usage for the picture. Compression algorithms use different quantization parameters that affect the allocation of bits to titles, frames, slices, and blocks of pictures. However, using a quantization parameter that is too low results in the unnecessary consumption of computing resources and bandwidth in encoding, transmitting, and decoding of pictures, without any commensurate benefit. On the other hand, using a quantization parameter that is too high results in unnecessarily (or unacceptably) reduced quality of encoded pictures. In addition, changing the quantization parameter of a picture can lead to an unpredictable loss in quality.